home *** CD-ROM | disk | FTP | other *** search
/ PD ROM 1 / PD ROM Volume I - Macintosh Software from BMUG (1988).iso / Stacks / Updates⁄New / MemoNoteStack 4.0 / stack_-1.xml < prev    next >
Encoding:
Extensible Markup Language  |  1988-03-06  |  20.0 KB  |  16 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE stack PUBLIC "-//Apple, Inc.//DTD stack V 2.0//EN" "" >
  3. <stack>
  4.     <name>in.0</name>
  5.     <id>-1</id>
  6.     <cardCount>5</cardCount>
  7.     <cardID>2885</cardID>
  8.     <listID>3829</listID>
  9.     <cantModify><false /></cantModify>
  10.     <cantDelete><true /></cantDelete>
  11.     <cantAbort><false /></cantAbort>
  12.     <cardSize>
  13.         <width>512</width>
  14.         <height>342</height>
  15.     </cardSize>
  16.     <script>>MemoNote --4.1.1 ***Required Delimiter for MemoNotes Installer
  17. --MemoNotes‚Ñ¢ by Peter Fraterdeus
  18. --Ver.4.1.1 -- 5 Mar 88 PSF
  19. --InitGlobals Implemented
  20. --Command-Click on Field brings Note to front of card (ver 4.1.1 Notes)
  21. --Version 4.1 -- 28 Feb 88 PSF
  22. --MemoNotes‚Ñ¢ Settings Page implemented
  23. --Converts ver 3.x notes to ver 4.x
  24. --Version 4.0 -- rev. 23 feb 1988 PSF
  25. --Option-Click when selecting Location of new note
  26. --makes note into DoMeNote‚Ñ¢ with interactive HyperTalk.
  27. --Re‚Äìordered button & field creation so field is created behind buttons
  28. --Version 3.1  --- rev. 5 feb 1988 PSF
  29. --Command-Click on Field brings Note to front of card (not yet!)
  30. --Version 3.0  --- rev. 5 feb 1988 PSF
  31. --Added GrowButton.
  32. --Completely consolidated button scripts into stack script.
  33. --buttons are much smaller, and more concise in their message handling
  34. --Version 2.2a --- rev. 1 feb 1988 PSF
  35. --Now checks that NoteButton is in dragRect before resetting location
  36. --SetRect(t,l,b,r) implemented
  37. --Version 2.2 --- rev. 26 jan 1988 PSF
  38. --Installer/De-Installer Button implemented (uses delimiter)
  39. --Version 2.1 --- rev. 25 jan 1988 PSF
  40. --Consolidated all functions into MemoNote button
  41. --and made Notes self-removing (removed "Remove Notes" button)
  42. --MemoNote changes to ShowNotes on option-click.
  43. --MemoNoteButton pastes self to background, if it ain't‚Ķ
  44. --ShowNote is pared to the essence‚Ķ
  45. --Version 2.0 --- rev. 23 jan 1988 PSF
  46. --Note buttons move in browse mode by click-dragging
  47. --**********************
  48. ***
  49. on setVersionID
  50. global gVersionID
  51. put "4.1.1" into gVersionID
  52. initGlobals
  53. end setversionID
  54.  
  55. on initGlobals
  56. global gMoveNote, screenRect, clipRect, dragRect
  57. global gNoteStyle, gNoteShowLines, gNoteTFont
  58. global gNoteTSize, gGlobalInitFlag, gDoMeNoteRequireCmd
  59. if gGlobalInitFlag is empty or gGlobalInitFlag is false then
  60. set lockscreen to true
  61. push card
  62. go to card MemoNoteSettings of stack "memoNoteStack*4.0"
  63. pop card
  64. put "0,0,511,341" into screenRect
  65. put true into gGlobalInitFlag
  66. end if
  67. end initGlobals
  68.  
  69. on NoteButtonMouseUp
  70. global gVersionID
  71. setVersionID
  72. put the userlevel into templevel
  73. set the userlevel to 5
  74. put the id of the target into myID
  75. if  line 1 of the script of the target contains "4." then
  76. if the optionkey is down then
  77. --‚Ä¢Sends a killField Message to the Note Button selected, removing
  78. -- both field and button.
  79. --‚Ä¢The Note Button sends a KillNotes message up the chain when
  80. -- clicked with the option Key down and the action is confirmed.
  81.  
  82. answer "Remove this Note?" with "Remove" or "Cancel"
  83. if it = "Remove" then
  84. set lockscreen to true
  85. get the id of the target -- will only be a Note button
  86. --‚Ä¢send killField to card button id it
  87. -- the button clears its field
  88. set the visible of card field id (myID-1)  to true
  89. choose field Tool
  90. click at the loc of card field id (myID-1)
  91. domenu clear field
  92. set the visible of card button id (myID+1)  to true
  93. choose button Tool
  94. click at the loc of card button id (myID+1)
  95. domenu clear button
  96. --***
  97. choose button tool
  98. click at Loc of card button id it
  99. domenu clear button
  100. set cursor to 1
  101. choose browse tool
  102. set the userlevel to templevel
  103. exit to hypercard
  104. end if
  105. set the userlevel to templevel
  106. exit NoteButtonMouseUp
  107. end if
  108. put the visible of card field id (myID-1) into showing
  109. showfield showing
  110. else -- convert old button
  111. set lockscreen to true
  112. set cursor to 4
  113. answer "Converting Old Button‚Ķ"
  114. put card field id (myID+2) into tempText
  115. choose field tool
  116. click at the loc of card field id (myID+2)
  117. domenu "cut field"
  118. domenu "paste field"
  119. choose button tool
  120. click at the loc of card button ID myID
  121. domenu "cut button"
  122. domenu "paste button"
  123. put the id of card button (the number of buttons) into newId
  124. get the script of card button id newId
  125. put gVersionID after line 1 of it
  126. set the script of card button id newId to it
  127. click at the loc of card button ID (myID+1)
  128. domenu "cut button"
  129. domenu "paste button"
  130. choose browse tool
  131. put tempText into card field (the number of card fields)
  132. end if
  133. set the userlevel to templevel
  134. end NoteButtonMouseUp
  135. ***
  136. **********************
  137. on MemoNote -- 6 Jan 88 ‚Äî MemoNotes‚Ñ¢ by Peter Fraterdeus
  138. set lockscreen to true
  139. put the userlevel into templevel
  140. set userlevel to 5
  141. MagicCopy
  142. global gVersionID
  143. setVersionID
  144. global gMoveNote, screenRect, clipRect, dragRect
  145. global gNoteStyle, gNoteShowLines, gNoteTFont,¬¨
  146. gNoteTSize,gNoteTHeight, gRegisteredFlag
  147. Show msg
  148. put Msg into tempMsg
  149. put "Click where you want the new Note... (or command-. to cancel)"
  150. beep
  151. set cursor to 2
  152. set lockscreen to true
  153. wait until the mouse is down -- click at note start
  154. put False into DoMeFlag
  155. if the optionKey is down then put True into DoMeFlag
  156. get the mouseLoc
  157. put item 1 of it into HMouse
  158. put item 2 of it into VMouse
  159. set cursor to 4
  160. wait until the mouse is up -- drag to note size
  161. get the mouseLoc
  162. if abs(Hmouse-item 1 of it)>100 then
  163. put abs(Hmouse-item 1 of it) into fieldWidth
  164. else
  165. put 162 into fieldWidth  -- change these for different note size.
  166. end if
  167. if abs(Vmouse-item 2 of it)>62 then
  168. put abs(Vmouse-item 2 of it) into fieldHeight
  169. else
  170. put 100 into fieldHeight  -- change these for different note size.
  171. end if
  172.  
  173. --‚Ä¢‚Ä¢‚Ä¢ Create the note ‚Ä¢‚Ä¢‚Ä¢
  174. put the number of buttons into ButtonNum
  175. put the number of card fields into FieldNum
  176. put tempMsg
  177. --‚Ä¢ Make Note Field
  178. choose field tool
  179. drag from HMouse,VMouse+16 to HMouse+fieldWidth,¬¨
  180. VMouse+fieldHeight with commandKey -- Draw the new Field
  181.  
  182. choose button tool -- this actually enables the new field
  183. get the id of card field (the number of card fields)
  184. set name of card field id it to "Note"&&it
  185. put short name of card field id it into FieldName
  186. put "card field id " before it
  187.  
  188. show it
  189. put"*NoteFieldScript*"&gVersionID&return into NoteFieldScript
  190. put"on MouseDown"&return after NoteFieldScript
  191. put"send NoteFieldMouseDown"&return after NoteFieldScript
  192. put"end MouseDown"&return after NoteFieldScript
  193. set the script of it to NoteFieldScript
  194. set style of it to gNoteStyle
  195. set locktext of it to false
  196. set showlines of it to gNoteShowLines
  197. set textFont of it to gNoteTFont
  198. set textSize of it to gNoteTSize
  199. set textHeight of it to gNoteTHeight
  200. put it into fieldID
  201. put"Note created"&&the short time&& the short Date&return into NoteText
  202. if gRegisteredflag = false or gRegisteredflag = empty then
  203. put"MemoNotes‚Ñ¢ Hypernote System"&return after NoteText
  204. put"¬©1988 PeterFraterdeus"&return after NoteText
  205. put"CIS 73306,2703"&return after NoteText
  206. put"ShareWare-$20. to: "&return after NoteText
  207. put"Alphabets, Inc."&return after NoteText
  208. put"Box 5448"&return after NoteText
  209. put"Evanston, Illinois"&return after NoteText
  210. put"60204-5448"&return after NoteText
  211. end if
  212. put NoteText into card field FieldName
  213.  
  214. --‚Ä¢Make Note Field
  215.  
  216. --‚Ä¢ Make Buttons
  217. put 0 into DoMeExtn
  218. if DoMeFlag then put 20 into DoMeExtn -- make the button longer
  219. drag from HMouse,VMouse to¬¨  -- Draw the new NoteButton
  220. HMouse+70 + DoMeExtn,VMouse+16 with commandKey
  221.  
  222. drag from  HMouse+fieldWidth,¬¨  -- the new GrowButton
  223. VMouse+fieldHeight to HMouse+fieldWidth -16,¬¨  -- NoteField ID+2
  224. VMouse+fieldHeight+16 with commandKey
  225.  
  226. choose browse tool -- this actually enables the new button so that
  227. -- its properties may be set...
  228. put "card button (ButtonNum +1)" into it
  229. set name of it to "Note" -- The name must contain the word Note
  230. show it                  -- to be recognized, but may also include
  231. set style of it to Rectangle -- other words (as "Phone Note", etc.)
  232. set autohilite of it to false
  233. set hilite of it to true
  234. set showname of it to true
  235. if DoMeFlag is True then set name of it to "Do Me Note"
  236. put "card button (ButtonNum +2)" into it -- the Grow button
  237. set name of it to "Grow" --
  238. show it                  --
  239. set style of it to Rectangle --
  240. set autohilite of it to false
  241. set hilite of it to true
  242. set the icon of it to 1018 -- marker cross
  243.  
  244. --‚Ä¢ Make Buttons
  245.  
  246. -- *** Building the ButtonScript ***
  247. if DoMeFlag contains "true" then
  248. put"*DoMeNoteButtonScript*"&gVersionID&return into NoteButtonScript
  249. put"on MouseDown"&return after NoteButtonScript
  250. put"  global gSelection"&return after NoteButtonScript
  251. put"  put selection into gSelection"&return after NoteButtonScript
  252. put"  pass mousedown"&return after NoteButtonScript
  253. put"end MouseDown"&return after NoteButtonScript
  254. put""&return after NoteButtonScript
  255. put"on MouseUp"&return after NoteButtonScript
  256. put"  send DoMeMouseUp"&return after NoteButtonScript
  257. put"end MouseUp"&return after NoteButtonScript
  258. put""&return after NoteButtonScript
  259. put"****"&return after NoteButtonScript
  260. put"Do Me Notes‚Ñ¢ ¬©1988"&return after NoteButtonScript
  261. put"Interactive Fields from MemoNotes"&return after NoteButtonScript
  262. else -- default NoteButton
  263. put"*NoteButtonScript*"&gVersionID&return into NoteButtonScript
  264. put"on mouseup"&return after NoteButtonScript
  265. put"  send NoteButtonMouseUp"&return after NoteButtonScript
  266. put"end MouseUp"&return after NoteButtonScript
  267. put""&return after NoteButtonScript
  268. end if -- end DoMeFlag
  269. put"****This note created"&&the date & return after NoteButtonScript
  270. put"MemoNotes‚Ñ¢ Hypernote system"&return after NoteButtonScript
  271. put"¬©1988 PeterFraterdeus"&return after NoteButtonScript
  272. put"CIS 73306,2703"&return after NoteButtonScript
  273. put"ShareWare-$20. to: Alphabets, Inc."&return after NoteButtonScript
  274. put"Box 5448/ Evanston, IL. 60204-5448"&return after NoteButtonScript
  275. choose button tool
  276. set script of card button (buttonNum +1) to NoteButtonScript--1st Btn.
  277.  
  278. put"NoteGrowButton"&gVersionID&return into NoteButtonScript
  279. put"**"&return after NoteButtonScript
  280. put"on mousedown"&return after NoteButtonScript
  281. put"  send NoteGrowMouseDown"&return after NoteButtonScript
  282. put"end mousedown"&return after NoteButtonScript
  283. put"***"&return after NoteButtonScript
  284. put"on mouseup"&return after NoteButtonScript
  285. put"  send NoteGrowMouseUp"&return after NoteButtonScript
  286. put"end mouseUp"&return after NoteButtonScript
  287. put"****"&return after NoteButtonScript
  288. put"on showGrow"&return after NoteButtonScript
  289. put"  send showGrowButton"&return after NoteButtonScript
  290. put"end showGrow"&return after NoteButtonScript
  291. put""&return after NoteButtonScript
  292. put"MemoNotes‚Ñ¢ Hypernote system"&return after NoteButtonScript
  293. put"¬©1988 PeterFraterdeus"&return after NoteButtonScript
  294. put"CIS 73306,2703"&return after NoteButtonScript
  295. put"ShareWare-$20. to: Alphabets, Inc."&return after NoteButtonScript
  296. put"Box 5448/ Evanston, IL. 60204-5448"&return after NoteButtonScript
  297. choose browse tool
  298. set script of card button (buttonNum +2) to NoteButtonScript-- 2nd Btn
  299. set cursor to 1
  300.  
  301. choose browse tool
  302. set cursor to 1
  303. set the userlevel to templevel
  304. set lockscreen to false
  305.  
  306. click at the loc of card field FieldName
  307. click at the loc of card field FieldName
  308. type tab
  309. type tab with shiftKey
  310. end MemoNote
  311. ***********************
  312. on DoMeMouseUp -- Command-Click to do Field
  313. global gmoveNote
  314. global gDoMeNoteRequireCmd -- Default is True
  315. if gmoveNote is true or the optionKey is down or¬¨
  316. (the commandkey is up and gDoMeNoteRequireCmd is true) then
  317. NoteButtonMouseUp
  318. exit DoMeMouseUp
  319. end if
  320. DoField
  321. end DoMeMouseUp
  322.  
  323. on DoField
  324. global gSelection
  325. get gSelection
  326. put the id of the target - 1  into ID -- ver 4.0 refs
  327. if gSelection is empty then
  328. get card field id ID
  329. end if
  330. put "on Perform " & return before it
  331. put  return&" end Perform " & return after it
  332. put "on closefield " & return after it
  333. put "send DoMeCloseField " & return after it
  334. put "end closefield" & return after it
  335. put "on MouseDown"&return after it
  336. put "send NoteFieldMouseDown"&return after it
  337. put "end MouseDown"&return after it
  338. set the script of card field id ID to it
  339. send Perform to card field id ID
  340. end DoField
  341.  
  342. on DoMeCloseField -- should be an XCMD... Prettifies DoMe Fields
  343. -- Doesn't work yet with ‚Äúif--then--action‚Äù all on one line...
  344. put "    " into cTab
  345. put the length of cTab into LnthcTab
  346. put "" into ntab
  347. put the id of the target into it
  348. put card field id it into tempText
  349. if the number of lines in tempText >50 then exit DoMeClosefield
  350. -- takes too long....
  351.  
  352. repeat with i=1 to the number of lines in tempText
  353. repeat while char 1 of line i of tempText =" "
  354. delete char 1 of line i of tempText
  355. end repeat
  356. end repeat
  357.  
  358. repeat with i =1 to the number of lines in tempText
  359. if word 1 of line i of tempText is in "on,if,repeat,else" then
  360. put cTab before nTab
  361. end if
  362.  
  363. if word 1 of line i +1 of tempText is in "end,else" then
  364. delete char 1 to LnthcTab of nTab
  365. end if
  366. put ntab before word 1 of line i +1 of tempText
  367. end repeat
  368. put temptext into card field id it
  369. end DoMeCloseField
  370.  
  371. on noteFieldMouseDown -- cmdKey-click to bring field to Front
  372. -- This works in Version 4.1.1 or later
  373. set lockscreen to true
  374. put the id of the target into MyId
  375. put card field id (myID) into tempText
  376. choose field tool
  377. click at the loc of card field id (myID)
  378. domenu "cut field"
  379. domenu "paste field"
  380. choose button tool
  381. click at the loc of card button ID (myID+1)
  382. domenu "cut button"
  383. domenu "paste button"
  384. click at the loc of card button ID (myID+2)
  385. domenu "cut button"
  386. domenu "paste button"
  387. choose browse tool
  388. put tempText into card field (the number of card fields)
  389. end noteFieldMouseDown
  390.  
  391. on showGrowButton
  392. put the rect of the target into myRect
  393. get the rect of card field id (the id of the target -2)
  394. put item 3 of it -17 into item 1 of myRect
  395. put item 4 of it into item 2 of myRect
  396. put item 3 of it into item 3 of myRect
  397. put item 4 of it +17 into item 4 of myRect
  398. set the rect of the target to myRect
  399. set the visible of the target to true
  400. end showGrowButton
  401. ***
  402. on showField showing
  403. global gMoveNote,dH,dV
  404. put the id of the target into myID
  405. if the paramcount=0 then put true into showing--1 Feb chngd. to "true"
  406. if (showing=false and gMoveNote = false)¬¨
  407. or (showing=true and gMoveNote = true) then
  408. -- if the field isn't showing and the button hasn't been moved
  409. -- then show the field in its present location
  410. -- or if the field is showing but the button has been moved
  411. -- then reshow the field in its new location
  412. doHilite true
  413. get the rect of the target
  414. put it into bRect
  415. --if card button id (myID +1) ‚↠empty then¬¨
  416. get the rect of  card button id (myID +1)
  417. put gethv ("card field id "&&(myID -1)) into temp
  418. set the rect of card field id (myID -1) to¬¨
  419. item 1 of bRect,item 4 of bRect,¬¨
  420. item 1 of bRect+dH,item 4 of bRect+dV
  421.  
  422. show card field id (myID -1)
  423. send showGrow to card button id (myID +1)
  424. else
  425. doHilite false
  426. hide card field id (myID -1)
  427. hide button id (myID +1)
  428. end if
  429. end showField
  430.  
  431. ***
  432. on NoteGrowMouseUp --
  433. global gMoveNote
  434. put true into gMoveNote
  435. put the rect of the target into myRect
  436. put the id of the target into myID
  437. get the rect of card field id (myID -2)--
  438. put item 3 of myRect into item 3 of it
  439. put item 2 of myRect into item 4 of it
  440. set the rect of  card field id (myID -2) to it
  441. put the visible of card field id (myID -2)  into showing
  442. send showfield to card button id (myID -1)
  443.  
  444. end NoteGrowMouseUp
  445. ***
  446. on NoteGrowMouseDown
  447. global DragRect, ClipRect,screenRect
  448. put the rect of card field id (the id of the target -2) into clipRect
  449. put item 1 to 2 of clipRect into dragRect
  450. put ","&item 3 to 4 of screenRect after dragRect
  451. repeat while the mouse is down and ¬¨
  452. pointinRect (the mouseLoc, the rect of the target)
  453. end repeat
  454. repeat until the mouse is up -- doDragButton
  455. get the mouseLoc
  456. if pointinRect (it, dragRect) then set the loc of target to it
  457. end repeat
  458.  
  459. end NoteGrowMouseDown
  460. ***
  461.  
  462. ***********************
  463.  
  464. on ShowNotes -- 7 Jan '88 by Peter Fraterdeus (ver 2.11 -- 25jan88)
  465. -- Part of the MemoNotes‚Ñ¢ system
  466. --‚Ä¢Sends a showField message to any button named "Note" on a card
  467. -- thus toggling the visiblity of the Note Fields on the card
  468. set lockscreen to true
  469. global HideAll
  470. if hideall is empty then put false into hideall
  471. put "showField"&& (not Hideall) into doWhat
  472. put (not Hideall) into hideAll
  473.  
  474. repeat with btn=1 to the number of card buttons
  475. get the name of card button btn
  476. if line 1 of the script of it contains "NoteButtonScript*" then
  477. send doWhat to card button btn -- if this causes a problem
  478. -- make sure the MemoNoteButton is in the Background!
  479. -- Also, any buttons from earlier versions of MemoNotes
  480. -- or buttons with the word NOTE in them (ie. "Go MemoNoteStack",
  481. -- or other people's stacks), that don't know about showField
  482. -- will not like the ShowNote message.
  483. -- If necessary, add the following to the offending button script.
  484. -- on showfield  -- (Remove the dashes, of course‚Ķ)
  485. -- end showfield  -- (‚Ķand these parenthetical notes)
  486. end if
  487. end repeat
  488. end ShowNotes
  489. ***********************
  490. on mousedown -- 6 Jan 88 - ToggleFieldStyle by Peter Fraterdeus
  491. set lockScreen to true
  492. put the userlevel into templevel
  493. set userlevel to 5
  494. magicCopy
  495.  
  496. get the name of the target
  497. if it contains "Field"  then
  498. if the shiftKey is down and the commandKey is down then
  499. get style of the target
  500. if it <>"Scrolling" then
  501. set style of the target to scrolling
  502. else
  503. set style of the target to rectangle -- change for a different
  504. end if                                 -- default rect.
  505. end if
  506. else
  507. if it contains "card button" and it contains "Note" then
  508. set lockScreen to false
  509. MoveNote
  510. set the userlevel to templevel
  511. exit to hypercard
  512. end if
  513. end if
  514. set the userlevel to templevel
  515. end mousedown
  516. **********************
  517. on MoveNote
  518. global gMoveNote, screenRect, clipRect, dragRect
  519. put false into gMoveNote
  520. put "6,7,506,333" into dragRect
  521. put the loc of the target into temp
  522. repeat while the mouse is down and ¬¨
  523. pointinRect (the mouseLoc, the rect of the target)
  524. end repeat
  525. repeat until the mouse is up -- doDragButton
  526. get the mouseLoc
  527. if pointinRect (it, dragRect) then set the loc of target to it
  528. end repeat
  529. if the loc of the target ‚↠temp  then put true into gMoveNote
  530. -- one of the great qualities of
  531. -- object based environments....
  532. send mouseup to target       -- I borrowed the concept, but the
  533. choose browse tool       -- execution is completely my design...
  534. end moveNote
  535.  
  536. **********************
  537. on doHilite OnOff -- onOff must be either True or False if it exists
  538. if the paramcount = 0 then
  539. set the hilite of the Target to not the hilite of the Target
  540. else
  541. set the hilite of the Target to onOff
  542. end if
  543. end doHilite
  544. **********************
  545. on MagicCopy -- Magic Button Copy by Peter Fraterdeus
  546. if the shiftKey is down and the optionKey is down and word 2 of¬¨
  547. the name of the target is "Button"then
  548. choose button tool
  549. click at the loc of the target -- Shift-Opt.Click to copy button*
  550. domenu copy button
  551. put the short name of the target&&"Button copied..." into msg
  552. choose browse tool
  553. exit to hyperCard
  554. end if
  555. end MagicCopy
  556. ***********************
  557. on enterkey -- Toggle Browse-Button-Field Tools with EnterKey+Shift
  558. -- I got this out of Macazine, I believe, from Jerry Daniels and added
  559. -- the ShiftKey modifier
  560. if the userlevel <4 then exit enterkey
  561. if the shiftKey is down then
  562. if the tool is "browse tool" then choose button tool
  563. else if the tool is "button tool" then choose field tool
  564. else choose browse tool
  565. end if
  566. end enterkey
  567. ***********************
  568. These are just some little helpers for finding the name and sizes
  569. of objects
  570. ***********************
  571. on showRect targ
  572. put the rect of targ into msg
  573. end showRect
  574. on getSName targ
  575. put the short name of targ into msg
  576. end getSName
  577. on getName targ
  578. put the name of targ into msg
  579. end getName
  580.  
  581. function getRect targ
  582. return the rect of targ
  583. end getRect
  584.  
  585. on showHV targ
  586. global dH,dV
  587. put getRect(targ) into msg
  588. put getHV(targ) into temp
  589. put "-"&&dH && dV after msg
  590. end showHV
  591.  
  592. function getHV targ
  593. global dH,dV
  594. get the rect of targ
  595. put item 3 of it - item 1 of it into dH
  596. put item 4 of it - item 2 of it into dV
  597. return true
  598. end getHV
  599.  
  600. function PointinRect apoint,aRect
  601. if item 1 of apoint >= item 1 of aRect¬¨
  602. and item 1 of apoint <= item 3 of aRect¬¨
  603. and item 2 of apoint >= item 2 of aRect¬¨
  604. and item 2 of apoint <= item 4 of aRect
  605. then return true
  606. else
  607. return false
  608. end if
  609. end PointinRect
  610. ***